/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.lib.ddl.impl; import java.text.ParseException; import java.util.*; import org.netbeans.lib.ddl.*; /** * Instances of this command operates with one column. * * @author Slavek Psenicka */ public class ColumnCommand extends AbstractCommand { /** Column */ private TableColumn column; static final long serialVersionUID =-4554975764392047624L; /** Creates specification of command * @param type Type of column * @param name Name of column * @param cmd Command */ public TableColumn specifyColumn(String type, String name, String cmd) throws ClassNotFoundException, IllegalAccessException, InstantiationException { Map gprops = (Map)getSpecification().getProperties(); Map props = (Map)getSpecification().getCommandProperties(cmd); Map bindmap = (Map)props.get("Binding"); String tname = (String)bindmap.get(type); if (tname != null) { Map typemap = (Map)gprops.get(tname); if (typemap == null) throw new InstantiationException("unable to locate binded object "+tname); Class typeclass = Class.forName((String)typemap.get("Class")); String format = (String)typemap.get("Format"); column = (TableColumn)typeclass.newInstance(); column.setObjectName(name); column.setObjectType(type); column.setColumnName(name); column.setFormat(format); } else throw new InstantiationException("unable to locate type "+type+" in table: "+bindmap); return column; } public TableColumn getColumn() { return column; } public void setColumn(TableColumn col) { column = col; } /** * Returns properties and it's values supported by this object. * column Specification of the column */ public Map getCommandProperties() throws DDLException { Map args = super.getCommandProperties(); args.put("column", column.getCommand(this)); return args; } } /* * <<Log>> * 5 Gandalf 1.4 10/22/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 4 Gandalf 1.3 8/17/99 Ian Formanek Generated serial version * UID * 3 Gandalf 1.2 5/14/99 Slavek Psenicka new version * 2 Gandalf 1.1 4/23/99 Slavek Psenicka new version * 1 Gandalf 1.0 4/6/99 Slavek Psenicka * $ */